package com.sunwayworld.basemodule.business.ordertask.bean;

import com.sunwayworld.framework.data.annotation.Id;
import com.sunwayworld.framework.data.annotation.NotNull;
import com.sunwayworld.framework.data.annotation.Table;
import com.sunwayworld.framework.data.annotation.Transient;
import com.sunwayworld.framework.support.domain.Insertable;
import com.sunwayworld.framework.support.domain.AbstractInsertable;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;

/**
 * 任务
 * 
 * @author hul@sunwayworld.com
 * @date 2023-01-30
 */
@Table("T_LIMS_ORDER_TASK")
public class LimsOrderTaskBean extends AbstractInsertable<Long> implements Insertable<Long> {

    @Transient
    private static final long serialVersionUID = -82566196618711043L;

    @Id
    private Long id;// 主键
    private Long batchId;// 订单Id
    private String batchCode;// 订单编号
    private Long folderId;// 执行单Id
    private Long orderId;// 任务样本Id
    private Long sampleId;// 样本Id
    private String sampleCode;// 样本编号
    private Long preOrderTaskId;// 预任务Id
    private Long testId;// 工序Id
    private String testCode;// 工序编号
    private String testName;// 工序名称
    private Long etTestId;// 模板工序Id
    private Long testMethodId;// 工序方法Id
    private String methodCode;// 方法编号
    private String methodDesc;// 方法描述
    private Long sort;// 排序
    private String testerId;// 检测人Id
    private String tester;// 检测人
    private String reviewerId;// 复核人Id
    private String reviewer;// 复核人
    private Long runId;// 实验批次Id
    private String runCode;// 批次编号
    @NotNull(defaultValue = "0")
    private String addInRun;// 是否已录入批次
    private Long lastOrderTaskId;// 上一道工序Id
    @NotNull(defaultValue = "1")
    private String flag;// 用于并行任务是否显示
    private Long parallelId;// 并行ID
    private Long lastParallelId;// 上一道并行ID
    private String mixCode;// 混样编号
    private String reason; // 异常原因

    @NotNull(defaultValue = "draft")
    private String status;// 状态
    private String abnormalRemarks;// 异常备注
    private Long boardHoleId;// 批次板孔ID
    private String createdById;// 制单人编码
    private String createdByName;// 制单人名称
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdTime;// 制单时间
    private String createdByOrgId;// 制单人单位编码
    private String createdByOrgName;// 制单人单位名称

    // 批量生成衍生物需要字段
    private String mixGroupId;// 批量添加衍生物页面，混样衍生物分组id
    private String derivativeSampleType;// 批量生成衍生物时用到，衍生物样本类型
    private String derivativeSampleTypeCode;// 批量生成衍生物时用到，衍生物样本类型编码
    private String generateDerivativeType;// 批量生成衍生物时用到，衍生物类型

    public String getDerivativeSampleTypeCode() {
        return derivativeSampleTypeCode;
    }

    public void setDerivativeSampleTypeCode(String derivativeSampleTypeCode) {
        this.derivativeSampleTypeCode = derivativeSampleTypeCode;
    }

    public String getMixGroupId() {
        return mixGroupId;
    }

    public void setMixGroupId(String mixGroupId) {
        this.mixGroupId = mixGroupId;
    }

    public String getDerivativeSampleType() {
        return derivativeSampleType;
    }

    public void setDerivativeSampleType(String derivativeSampleType) {
        this.derivativeSampleType = derivativeSampleType;
    }

    public String getGenerateDerivativeType() {
        return generateDerivativeType;
    }

    public void setGenerateDerivativeType(String generateDerivativeType) {
        this.generateDerivativeType = generateDerivativeType;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getBoardHoleId() {
        return boardHoleId;
    }

    public void setBoardHoleId(Long boardHoleId) {
        this.boardHoleId = boardHoleId;
    }

    public Long getBatchId() {
        return batchId;
    }

    public void setBatchId(Long batchId) {
        this.batchId = batchId;
    }

    public String getBatchCode() {
        return batchCode;
    }

    public void setBatchCode(String batchCode) {
        this.batchCode = batchCode;
    }

    public Long getFolderId() {
        return folderId;
    }

    public void setFolderId(Long folderId) {
        this.folderId = folderId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getSampleId() {
        return sampleId;
    }

    public void setSampleId(Long sampleId) {
        this.sampleId = sampleId;
    }

    public String getSampleCode() {
        return sampleCode;
    }

    public void setSampleCode(String sampleCode) {
        this.sampleCode = sampleCode;
    }

    public Long getPreOrderTaskId() {
        return preOrderTaskId;
    }

    public void setPreOrderTaskId(Long preOrderTaskId) {
        this.preOrderTaskId = preOrderTaskId;
    }

    public Long getTestId() {
        return testId;
    }

    public void setTestId(Long testId) {
        this.testId = testId;
    }

    public String getTestCode() {
        return testCode;
    }

    public void setTestCode(String testCode) {
        this.testCode = testCode;
    }

    public String getTestName() {
        return testName;
    }

    public void setTestName(String testName) {
        this.testName = testName;
    }

    public Long getEtTestId() {
        return etTestId;
    }

    public void setEtTestId(Long etTestId) {
        this.etTestId = etTestId;
    }

    public Long getTestMethodId() {
        return testMethodId;
    }

    public void setTestMethodId(Long testMethodId) {
        this.testMethodId = testMethodId;
    }

    public String getMethodCode() {
        return methodCode;
    }

    public void setMethodCode(String methodCode) {
        this.methodCode = methodCode;
    }

    public String getMethodDesc() {
        return methodDesc;
    }

    public void setMethodDesc(String methodDesc) {
        this.methodDesc = methodDesc;
    }

    public Long getSort() {
        return sort;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }

    public String getTesterId() {
        return testerId;
    }

    public void setTesterId(String testerId) {
        this.testerId = testerId;
    }

    public String getTester() {
        return tester;
    }

    public void setTester(String tester) {
        this.tester = tester;
    }

    public String getReviewerId() {
        return reviewerId;
    }

    public void setReviewerId(String reviewerId) {
        this.reviewerId = reviewerId;
    }

    public String getReviewer() {
        return reviewer;
    }

    public void setReviewer(String reviewer) {
        this.reviewer = reviewer;
    }

    public Long getRunId() {
        return runId;
    }

    public void setRunId(Long runId) {
        this.runId = runId;
    }

    public String getRunCode() {
        return runCode;
    }

    public void setRunCode(String runCode) {
        this.runCode = runCode;
    }

    public String getAddInRun() {
        return addInRun;
    }

    public void setAddInRun(String addInRun) {
        this.addInRun = addInRun;
    }

    public Long getLastOrderTaskId() {
        return lastOrderTaskId;
    }

    public void setLastOrderTaskId(Long lastOrderTaskId) {
        this.lastOrderTaskId = lastOrderTaskId;
    }

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public Long getParallelId() {
        return parallelId;
    }

    public void setParallelId(Long parallelId) {
        this.parallelId = parallelId;
    }

    public Long getLastParallelId() {
        return lastParallelId;
    }

    public void setLastParallelId(Long lastParallelId) {
        this.lastParallelId = lastParallelId;
    }

    public String getMixCode() {
        return mixCode;
    }

    public void setMixCode(String mixCode) {
        this.mixCode = mixCode;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getAbnormalRemarks() {
        return abnormalRemarks;
    }

    public void setAbnormalRemarks(String abnormalRemarks) {
        this.abnormalRemarks = abnormalRemarks;
    }

    public String getCreatedById() {
        return createdById;
    }

    public void setCreatedById(String createdById) {
        this.createdById = createdById;
    }

    public String getCreatedByName() {
        return createdByName;
    }

    public void setCreatedByName(String createdByName) {
        this.createdByName = createdByName;
    }

    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }

    public String getCreatedByOrgId() {
        return createdByOrgId;
    }

    public void setCreatedByOrgId(String createdByOrgId) {
        this.createdByOrgId = createdByOrgId;
    }

    public String getCreatedByOrgName() {
        return createdByOrgName;
    }

    public void setCreatedByOrgName(String createdByOrgName) {
        this.createdByOrgName = createdByOrgName;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }
}
